package com.sale24h.data;

import java.util.ArrayList;
import java.util.List;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class AppData
{
	private static AppData instance;
	
	public static AppData getInstance()
	{
		if(instance==null)
		{
			instance=new AppData();
		}
		return instance;
	}
	
	private String mact;
	private String soct;
	
	private List<clsKhuVuc> lstKhuVucs;
	private List<clsLoaiHang> lstLoaiHangs;
	private clsLoaiHang currentLoaiHang;
	private clsKhuVuc currentKhuVuc;
	public AppData()
	{
		lstKhuVucs=new ArrayList<clsKhuVuc>();
		lstLoaiHangs=new ArrayList<clsLoaiHang>();
	}
	public void ApplyKhuVuc_BanData(JSONObject obj) throws JSONException
	{
		lstKhuVucs.clear();
		String khuvuc_tag="khuvucs";
		JSONArray khuvucs=obj.getJSONArray(khuvuc_tag);
		
		 // looping through All Products
        for (int i = 0; i < khuvucs.length(); i++) {
            JSONObject c = khuvucs.getJSONObject(i);

            // Storing each json item in variable
            clsKhuVuc kv=new clsKhuVuc();
            kv.InitfromJSON(c);
            
            lstKhuVucs.add(kv);           
        }
	}
	
	public List<String> getAllTenKhuVuc()
	{
		List<String> lstNames=new ArrayList<String>();
		
		for (clsKhuVuc kv : lstKhuVucs)
		{
			lstNames.add(kv.getTenkhuvuc());			
		}
		
		return lstNames;
	}
	public clsKhuVuc getKhuVuc(int index)
	{
		if(lstKhuVucs!=null && lstKhuVucs.size()>0)
		{
			return lstKhuVucs.get(index);
		}
		return null;
	}
	public List<clsKhuVuc> getAllKhuVucs()
	{
		return lstKhuVucs;
	}
	
	public void Apply_LoaiHang_NhomHang_Mathangs(JSONObject obj) throws JSONException
	{
		getLstLoaiHangs().clear();
		String loaihang_tag="loaihangs";
		
		JSONArray jaLoaiHangs=obj.getJSONArray(loaihang_tag);
		
		for (int i = 0; i < jaLoaiHangs.length(); i++)
		{
			JSONObject lhobj=jaLoaiHangs.getJSONObject(i);
			
			clsLoaiHang clslh=new clsLoaiHang();
			clslh.InitFromJSON(lhobj);
			
			getLstLoaiHangs().add(clslh);
		}
		
	}
	public List<clsLoaiHang> getLstLoaiHangs()
	{
		return lstLoaiHangs;
	}
	public clsLoaiHang getLoaiHang(int index)
	{
		if(lstLoaiHangs!=null && lstLoaiHangs.size()>0 && lstLoaiHangs.size()>index)
		{
			return lstLoaiHangs.get(index);
		}
		return null;
	}
	public clsLoaiHang getCurrentLoaiHang()
	{
		return currentLoaiHang;
	}
	public void setCurrentLoaiHang(clsLoaiHang currentLoaiHang)
	{
		this.currentLoaiHang = currentLoaiHang;
	}	
	public clsKhuVuc getCurrentKhuVuc()
	{
		return currentKhuVuc;
	}
	public void setCurrentKhuVuc(clsKhuVuc currentKhuVuc)
	{
		this.currentKhuVuc = currentKhuVuc;
	}
	public clsBan getCurrentBan()
	{
		return getCurrentKhuVuc().getCurrentBan();
	}
	public String getMact()
	{
		return mact;
	}
	public void setMact(String mact)
	{
		this.mact = mact;
	}
	public String getSoct()
	{
		return soct;
	}
	public void setSoct(String soct)
	{
		this.soct = soct;
	}
	
	public void ApplyMact_Soct_fromJSON(JSONObject jobj) throws JSONException
	{
		String datatag="data";
		JSONArray data=jobj.getJSONArray(datatag);
		for (int i = 0; i < data.length(); i++)
		{
			JSONObject job=data.getJSONObject(i);
			String ma=job.getString("ma");
			String gt=job.getString("giatri");
			
			if(ma=="machungtu")
			{
				this.mact=gt;
			}
			else
			{
				this.soct=gt;
			}
		}
	}
}
